package com.qiwenshare.file.api;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qiwenshare.file.domain.Archive;
import com.qiwenshare.file.domain.ArchiveApproveFlowItem;
import com.qiwenshare.file.dto.archive.AddArchiveDTO;
import com.qiwenshare.file.dto.archive.DeleteArchiveDTO;
import com.qiwenshare.file.dto.archive.ModifyArchiveDTO;
import com.qiwenshare.file.vo.archive.ArchiveTypeVo;
import com.qiwenshare.file.vo.archive.ArchiveVo;
import com.qiwenshare.file.vo.user.UserLoginVo;

import java.util.List;

/**
 * 档案信息表(Archive)表服务接口
 *
 * @author makejava
 * @since 2023-10-08 21:09:14
 */
public interface ArchiveService extends IService<Archive> {

    String add(AddArchiveDTO addArchiveDTO);

    String modify(ModifyArchiveDTO modifyArchiveDTO);

    String delete(DeleteArchiveDTO deleteArchiveDTO);

    IPage<ArchiveVo> getList(String archiveName, Integer fileType, String archiveTypeId, String archiveCode, String departmentId, String startDate, String endDate, Long currentPage, Long pageCount);
    IPage<ArchiveVo> getListWithApprove(String archiveName, Integer fileType, String archiveTypeId, String archiveCode, String departmentId, String startDate, String endDate, Long currentPage, Long pageCount);

    Boolean approve(String archiveId, String userId);

    String getCurrentApproveByIds(String applyBy, String archiveId, ArchiveApproveFlowItem currentFlowItem);

    List<ArchiveTypeVo> getArchiveTypeList();
}

